home *** CD-ROM | disk | FTP | other *** search
/ Amiga Mag HDD Backup / Amiga Mag HDD Backup.zip / Amiga Mag HDD Backup / Alexander.img.bin / Alexander.img / tech 4.1 editorial Archive.sit / Nee / intmacros.i < prev    next >
Text File  |  1993-07-16  |  7KB  |  189 lines

  1. ;INTUITION MACROS
  2. ;Offsets
  3. addgadget         equ  -42   ;(a0=ptr;a1=gad;d0=posit)
  4. allocremember     equ  -396  ;(a0=key;d0=size;d1=flags)
  5. autorequest       equ  -348  ;(a0=window;a1=body)
  6.                            ;(a2=ptext;a3=ntext)
  7.                            ;(d0=pflag;d1=nflag)
  8.                            ;(d2=width;d3=heigth)
  9. beginrefresh      equ  -354  ;(a0=window)
  10. buildsysrequest   equ  -360  ;(a0=window;a1=body)
  11.                            ;(a2=ptext;a3=ntext)
  12.                            ;(d0=flags;d1=w;d2=h)
  13. clearmenustrip    equ  -54   ;(a0=window)
  14. clearpointer      equ  -60   ;(a0=window)
  15. closescreen       equ  -66   ;(a0=screen)
  16. closewindow       equ  -72   ;(a0=window)
  17. closeworkbench    equ  -78   ;()
  18. currenttime       equ  -84   ;(a0=seconds;a1=micros)
  19. displayalert      equ  -90   ;(d0=alert#;a0=text;d1=h)
  20. displaybeep       equ  -96   ;(a0=screen)
  21. doubleclick       equ  -102  ;(d0=sseconds;d1=smicros)
  22.                            ;(d2=cseconfs;d3=cmicros)
  23. drawborder        equ  -108  ;(a0=rp;a1=border)
  24.                            ;(d0=loff;d1=toff)
  25. drawimage         equ  -114  ;(a0=rp;a1=image)
  26.                            ;(d0=loff;d1=toff)
  27. endrefresh        equ  -366  ;(a0=window;d0=complete)
  28. endrequest        equ  -120  ;(a0=requestor;a1=window)
  29. freeremember      equ  -408  ;(a0=key;d0=forget)
  30. freesysrequest    equ  -372  ;(a0=window)
  31. getdeprefs        equ  -126  ;(a0=prefs;d0=size)
  32. getprefs          equ  -132  ;(a0=prefs;d0=size)
  33. initrequester     equ  -138  ;(a0=requester)
  34. intuitextlength   equ  -330  ;(a0=itext)
  35. itemaddress       equ  -144  ;(a0=menustrip;d0=menu#)
  36. makescreen        equ  -378  ;(a0=screen)
  37. modifyidcmp       equ  -150  ;(a0=window;d0=IDCMPflags)
  38. modifyprop        equ  -156  ;(a0=prop;a1=s/w pointer)
  39.                            ;(a2=req;d0=flags;d1=hpot)
  40.                            ;(d2=vpot;d3=hbody;d4=vbody)
  41. movescreen        equ  -162  ;(a0=screen;d0=dx;d1=dy)
  42. movewindow        equ  -168  ;(a0=window;d0=dx;d1=dy)
  43. offgadget         equ  -174  ;(a0=gad;a1=ptr;a2=req)
  44. offmenu           equ  -180  ;(a0=window;d0=menu#)
  45. ongadget          equ  -186  ;(a0=gad;a1=ptr;a2=req)
  46. onmenu            equ  -192  ;(a0=window;d0=menu#)
  47. openscreen        equ  -198  ;(a0=screen parameters)
  48. openwindow        equ  -204  ;(a0=window parameters)
  49. openworkbench     equ  -210  ;()
  50. printitext        equ  -216  ;(a0=rp;a1=itext;d0=left)
  51.                            ;(d1=top)
  52. refreshgadgets    equ  -222  ;(a0=gad;a1=ptr;a2=req)
  53. remakedisplay     equ  -384  ;()
  54. removegadgets     equ  -228  ;(a0=ptr;a1=gad)
  55. reportmouse       equ  -234  ;(a0=window;d0=report)
  56. request           equ  -240  ;(a0=req;a1=window)
  57. rethinkdisplay    equ  -390  ;()
  58. screentoback      equ  -246  ;(a0=screen)
  59. screentofront     equ  -252  ;(a0=screen)
  60. senddmrequest     equ  -258  ;(a0=window;a1=req)
  61. setmenustrip      equ  -264  ;(a0=window;a1=menu)
  62. setpointer        equ  -270  ;(a0=window;a1=ptr;d0=h)
  63.                            ;(d1w;d2=xo;d3=yo)
  64. setwindowtitles   equ  -276  ;(a0=window;a1=wtitle)
  65.                            ;(a2=stitle)
  66. showtitle         equ  -282  ;(a0=screen;d0=showit)
  67. sizewindow        equ  -288  ;(a0=window;d0=dx;d1=dy)
  68. viewaddress       equ  -294  ;()
  69. viewportaddress   equ  -300  ;(a0=window)
  70. wbenchtoback      equ  -336  ;()
  71. wbenchtofront     equ  -342  ;()
  72. windowlimits      equ  -318  ;(a0=window;d0=minw;d1=minh)
  73.                            ;(d2=maxw;d3=maxh)
  74. windowtoback      equ  -306  ;(a0=window)
  75. windowtofront     equ  -312  ;(a0=window)
  76.  
  77. ;equates
  78. ;your ns.screen
  79. lores          equ  0        ;320 x 200
  80. interlace      equ  4        ;    x 400
  81. hires          equ  $8000    ;640 x
  82. extrahb        equ  $80      ;extra half-bright
  83. dualpf         equ  $400     ;dual play-field
  84. ham            equ  $800     ;hold-and-modify
  85. sprites        equ  $4000    ;sprites
  86. customscreen   equ  $f       ;not a WBscreen
  87. scrn.vport     equ  $2c
  88.  
  89. ;your nw.window
  90. nw.title       equ  $1a      ;text title,null terminated
  91. nw.screen      equ  $1e      ;custom screen address
  92. nw.bitmap      equ  $22      ;custom bitmap address
  93.  
  94. ;your nw.IDCMP flags
  95. sizeverify     equ  1        ;if sizing requested
  96. newsize        equ  2        ;size changed
  97. refreshwindow  equ  4        ;window needs refreshing
  98. mousebuttons   equ  8        ;non-int use
  99. mousemove      equ  $10      ;any mouse movement
  100. windowclose    equ  $200     ;window close
  101. rawkey         equ  $400     ;any keys
  102. deltamove      equ  $100000  ;relative mouse movements
  103. vanillakey     equ  $200000  ;ASCII keycodes
  104.  
  105. ;your nw.Flags
  106. smartrefresh   equ  0        ;redisplay covered parts
  107. windowsizing   equ  1        ;include sizing gadget
  108. windowdrag     equ  2        ;include drag gadget
  109. windowdepth    equ  4        ;include depth gadget
  110. windowclosing  equ  8        ;include close gadget
  111. sizeright      equ  $10      ;size gadget on right
  112. sizebottom     equ  $20      ;sizegadget on bottom
  113. simplerefresh  equ  $40      ;refresh covered parts
  114. superbitmap    equ  $80      ;custom bitmap
  115. backdrop       equ  $100     ;always behind
  116. mousereport    equ  $200     ;continuous mouse movement
  117. gimmezerozero  equ  $400     ;gadgets in separate bitmap
  118. borderless     equ  $800     ;no border
  119. activate       equ  $1000    ;active when opened
  120. rmbtrap        equ  $10000   ;rmb trap;no menu operations
  121. nocarerefresh  equ  $20000   ;no refresh messages
  122.  
  123. ;INT ww.window structure
  124. ww.title       equ  $20      ;title address
  125. ww.screen      equ  $2e      ;screen address
  126. ww.rport       equ  $32      ;rastport address
  127. ww.userport    equ  $56      ;message port
  128.  
  129. ;macros
  130.  
  131. intlib   macro
  132.    movea.l  intbase(pc),a6
  133.    jsr      \1(a6)
  134.    endm
  135.  
  136. openscreen  macro       ;(parameters,BEQ)
  137.    lea      \1,a0       ;my screen
  138.    intlib   openscreen
  139.    move.l   d0,screen   ;save screen structure
  140.    beq      \2          ;couldn't open screen
  141.    endm
  142.  
  143. openwindow  macro       ;(parameters,BEQ)
  144.    lea      \1,a0       ;my window
  145.    move.l   screen,nw.screen(a0) ;screen pointer
  146.    intlib   openwindow
  147.    move.l   d0,window   ;save window structure
  148.    beq      \2          ;couldn't open window
  149.    movea.l  d0,a0
  150.    movea.l  ww.rport(a0),a1   ;rastport pointer
  151.    move.l   a1,rp       ;save location
  152.    movea.l  window,a0   ;window pointer
  153.    intlib   viewportaddress   ;get viewport
  154.    move.l   d0,vp       ;save location
  155.    movea.l  window,a0
  156.    move.l   ww.userport(a0),a1
  157.    move.l   a1,userport
  158.    endm
  159.  
  160. getbitplanes   macro
  161.    movea.l  rp(pc),a1
  162.    movea.l  4(a1),a1
  163.    lea      bp1,a0
  164.    move.l   8(a1),(a0)+
  165.    move.l   12(a1),(a0)+
  166.    move.l   16(a1),(a0)+
  167.    move.l   20(a1),(a0)+
  168.    move.l   24(a1),(a0)+
  169.    move.l   28(a1),(a0) ;just in case
  170.    endm
  171.  
  172. closewindow macro
  173.    movea.l  window(pc),a0
  174.    intlib   closewindow
  175.    endm
  176. closescreen macro
  177.    movea.l  screen(pc),a0
  178.    intlib   closescreen
  179.    endm
  180.  
  181.    evenpc
  182. screen      dc.l  0
  183. window      dc.l  0
  184. rp          dc.l  0
  185. vp          dc.l  0
  186. userport    dc.l  0
  187. bp1         ds.l  6
  188.  
  189.